<?php

namespace app\api\controller;

use think\admin\Controller;
use think\facade\Db;
use think\facade\Request;

class Fuwuguan extends Controller
{


    //服务员查看企呼我应列表
//    public function getFwgQhwyList()
//    {
//
//        $key       = input('key');
//        $tj_status = input('tj_status');
//        $user_id   = input('user_id');
//        if (empty($user_id)) {
//            return_error('缺少参数user_id');
//        }
//
//        $fuwuguan = Db::name("data_user")->where('id', $user_id)->find();
//        if (empty($fuwuguan)) {
//            return_error('未查询到服务官信息');
//        }
//
//        $xj_user_list = Db::name("data_user")->where('top_ld', $user_id)->field('id,qybq')->select()->toArray();
//        if (count($xj_user_list) > 0) {
//            $xj_user_qybq = [];
//
//            if (!empty($fuwuguan['qybq'])) {
//                $fuwuguan_qybq_list = explode(',', $fuwuguan['qybq']);
//                $xj_user_qybq       = array_unique(array_merge($xj_user_qybq, $fuwuguan_qybq_list));
//            }
//
//            foreach ($xj_user_list as $xj_user) {
//                if (!empty($xj_user['qybq'])) {
//                    $qiye_qybq_list = explode(',', $xj_user['qybq']);
//                    $xj_user_qybq   = array_unique(array_merge($xj_user_qybq, $qiye_qybq_list));
//                }
//            }
//            if (!empty($xj_user_qybq)) {
//                $fuwuguan['qybq'] = implode(',', $xj_user_qybq);
//            }
//        }
//
//        $where['deleted'] = 0;
//
//
//        $whereRaw = '';
//        // 构造查询条件来匹配 qybq 字段
//        if (!empty($fuwuguan['qybq'])) {
//            // 创建 FIND_IN_SET 的 SQL 查询条件
//            $qiye_qybq_list = explode(',', $fuwuguan['qybq']);
//
//            //            $where[] = ['FIND_IN_SET(qybq, '.$qiye_info['qybq'].')' ];
//            //            $where[] = ["FIND_IN_SET(qybq,'1,2')" ];
//
//            // 使用 FIND_IN_SET 来检查 qybq 字段中是否包含指定的值
//            $i = 0;
//            foreach ($qiye_qybq_list as $value) {
//                //                $qybq_conditions[] = ['FIND_IN_SET(?, qybq)', $value];
//                if ($i > 0) {
//                    $whereRaw .= ' or ';
//                }
//                $whereRaw .= 'FIND_IN_SET(' . $value . ', qybq)';
//                $i++;
//            }
//        }
//
//
//        //没有企业标签
//        if (empty($whereRaw)) {
//            return_msg(200, '查询接口', []);
//        }
//
//
//        $qiye_userid_list = Db::name('data_qiye_rzinfo')->where($where)->where(function ($query) use ($key)
//        {
//            if (!empty($key)) {
//                $query->where('qymc', 'like', '%' . $key . '%')->whereOr('tyxydm', 'like', '%' . $key . '%');
//            }
//        })->whereRaw($whereRaw)->field('user_id')->select()->toArray();
//
//
//        $qiye_ids = [];
//        foreach ($qiye_userid_list as $qiye_id) {
//            $qiye_ids[] = $qiye_id['user_id'];
//        }
//
//
//        $qhwy_where['deleted'] = 0;
//        $page                  = input('page', 1);
//        $limit                 = input('limit', 10);
//        if (!empty($tj_status)) {
//
//            $qhwy_where['tj_status'] = $tj_status;
//
//        }
//
//        if (empty($qiye_ids)) {
//
//            return_msg(200, '查询接口', []);
//
//        } else {
//
//            $list = Db::name('data_qhwy_user')->where($qhwy_where)->order('create_at desc')->paginate($limit, false, ['page' => $page]);
//
//            // 引用方式遍历集合并修改数据
//            $list->each(function (&$item)
//            {
//
//                if (!empty($item['tj_time'])) {
//                    $item['tj_time_txt'] = date('Y-m-d H:i:s', $item['tj_time']);
//                } else {
//                    $item['tj_time_txt'] = '';
//                }
//
//
//                if (!empty($item['cl_time'])) {
//                    $item['cl_time_txt'] = date('Y-m-d H:i:s', $item['cl_time']);
//                } else {
//                    $item['cl_time_txt'] = '';
//                }
//
//                if (!empty($item['cluser_id'])) {
//                    $item['cluser_name'] = Db::name("data_user")->where('id', $item['cluser_id'])->value('nickname');
//                } else {
//                    $item['cluser_name'] = '';
//                }
//
//                return $item;
//            });
//
//            // 获取分页数据
//            $data = [
//                'list'      => $list->items(),
//                'total'     => $list->total(),
//                'last_page' => $list->lastPage(),
//            ];
//
//            // 输出分页数据
//            return_msg(200, '查询成功', $data);
//        }
//
//    }


    public function getFwgQhwyList()
    {

        $key       = input('key');
        $tj_status = input('tj_status');
        $user_id   = input('user_id');
        if (empty($user_id)) {
            return_error('缺少参数user_id');
        }

        $fuwuguan = Db::name("data_user")->where('id', $user_id)->find();
        if (empty($fuwuguan)) {
            return_error('未查询到服务员信息');
        }


        $where['deleted'] = 0;


        $qiye_userid_list = Db::name('data_qiye_rzinfo')->where($where)->where(function ($query) use ($key)
        {
            if (!empty($key)) {
                $query->where('qymc', 'like', '%' . $key . '%')->whereOr('tyxydm', 'like', '%' . $key . '%');
            }
        })->whereFindInSet('fwg_ids',$user_id)->field('user_id')->select()->toArray();


        $qiye_ids = [];
        foreach ($qiye_userid_list as $qiye_id) {
            $qiye_ids[] = $qiye_id['user_id'];
        }


        $qhwy_where['deleted'] = 0;
        $page                  = input('page', 1);
        $limit                 = input('limit', 10);
        if (!empty($tj_status)) {

            $qhwy_where['tj_status'] = $tj_status;

        }

        if (empty($qiye_ids)) {

            return_msg(200, '查询接口', []);

        } else {

            $list = Db::name('data_qhwy_user')->where($qhwy_where)->whereIn('user_id',$qiye_ids)->order('create_at desc')->paginate($limit, false, ['page' => $page]);

            // 引用方式遍历集合并修改数据
            $list->each(function (&$item)
            {

                if (!empty($item['tj_time'])) {
                    $item['tj_time_txt'] = date('Y-m-d H:i:s', $item['tj_time']);
                } else {
                    $item['tj_time_txt'] = '';
                }


                if (!empty($item['cl_time'])) {
                    $item['cl_time_txt'] = date('Y-m-d H:i:s', $item['cl_time']);
                } else {
                    $item['cl_time_txt'] = '';
                }

                if (!empty($item['cluser_id'])) {
                    $item['cluser_name'] = Db::name("data_user")->where('id', $item['cluser_id'])->value('nickname');
                } else {
                    $item['cluser_name'] = '';
                }

                return $item;
            });

            // 获取分页数据
            $data = [
                'list'      => $list->items(),
                'total'     => $list->total(),
                'last_page' => $list->lastPage(),
            ];

            // 输出分页数据
            return_msg(200, '查询成功', $data);
        }

    }


    //查看企呼我应详情
    public function chakanXq()
    {

        $id = input('id');

        if (empty($id)) {
            return_error('缺少参数id');
        }

        $info = Db::name("data_qhwy_user")->where('id', $id)->find();

        if (!empty($info['tj_time'])) {
            $info['tj_time_txt'] = date('Y-m-d H:i:s', $info['tj_time']);
        } else {
            $info['tj_time_txt'] = '';
        }



        if (!empty($info['cl_time'])) {
            $info['cl_time_txt'] = date('Y-m-d H:i:s', $info['cl_time']);
        } else {
            $info['cl_time_txt'] = '';
        }

        if (!empty($info['cluser_id'])) {
            $info['cluser_name'] = Db::name("data_user")->where('id', $info['cluser_id'])->value('nickname');
        } else {
            $info['cluser_name'] = '';
        }

        $info['gjjl_list'] = Db::name("data_qhwy_user_genjin")->where('qhwy_id',$info['id'])->select()->toArray();

        foreach ($info['gjjl_list'] as &$gjjl){



            if (!empty($gjjl['cl_time'])) {
                $gjjl['cl_time_txt'] = date('Y-m-d H:i:s', $gjjl['cl_time']);
            } else {
                $gjjl['cl_time_txt'] = '';
            }

            $gjjl['fuwuguan_info'] = Db::name("data_user")->where('id',$gjjl['cluser_id'])->field('nickname,phone,headimg')->find();


        }


        return_msg(200, '查询成功', $info);

    }


    //处理企呼我应
    public function chuli()
    {

        $user_id = input('user_id');
        $id      = input('id');
        $cl_msg  = input('cl_msg');
        if (empty($id)) {
            return_error('缺少参数id');
        }
        if (empty($user_id)) {
            return_error('缺少参数user_id');
        }


        $info = Db::name("data_qhwy_user")->where('id', $id)->find();

        if (empty($info)) {

            return_error('未找到相应诉求信息');
        }

        if ($info['tj_status'] == 1 || $info['tj_status'] == 2) {

            Db::name("data_qhwy_user")->where('id', $info['id'])->update(['tj_status' => 2]);

            $genjin['cl_time']   = time();
            $genjin['cl_msg']    = $cl_msg;
            $genjin['cluser_id'] = $user_id;
            $genjin['qhwy_id']   = $info['id'];
            Db::name("data_qhwy_user_genjin")->insert($genjin);
            return_msg(200, '操作成功');

        } else {
            return_error('状态不符合跟进');
        }

    }

    //办结
    public function banjie()
    {
        $user_id = input('user_id');
        $id      = input('id');

        if (empty($id)) {
            return_error('缺少参数id');
        }
        if (empty($user_id)) {
            return_error('缺少参数user_id');
        }

        $info = Db::name("data_qhwy_user")->where('id', $id)->find();

        if (empty($info)) {

            return_error('未找到相应诉求信息');
        }

        if ($info['tj_status'] != 2) {
//            return_error('状态不符合办结');
        }

        Db::name("data_qhwy_user")->where('id', $info['id'])->update(['tj_status' => 3]);

        return_msg(200, '办结成功');
    }


    //查看企业列表
    public function getQyList()
    {

        $key     = input('key');
        $xzbm    = input('xzbm');
        $user_id = input('user_id');

//        $fuwuguan_id = Db::name("data_user")->where('id', $user_id)->find();

        $fuwuguan = Db::name("data_user")->where('id', $user_id)->find();

        if (empty($fuwuguan)) {
            return_error('未查询到服务员信息');
        }


        $where['deleted'] = 0;

        if (!empty($key)) {
//            $where['qymc'] = ['like','%' . $key . '%'];
        }


//        $list = Db::name("data_qiye_rzinfo")->where($where)->where(function ($query) use ($key)
//        {
//            if (!empty($key)) {
//                $query->where('qymc', 'like', '%' . $key . '%')->whereOr('tyxydm', 'like', '%' . $key . '%');
//            }
//        })->whereFindInSet('fwg_ids',$user_id)->order('qymc desc')->select()->toArray();


        $list = Db::name("data_qiye_rzinfo")->where($where)->where(function ($query) use ($key)
        {
            if (!empty($key)) {
                $query->where('qymc', 'like', '%' . $key . '%')->whereOr('tyxydm', 'like', '%' . $key . '%');
            }
        })->whereFindInSet('fwg_ids',$user_id)->order('qymc desc')->select()->toArray();


        foreach ($list as &$item){
            $qyxxk_info = Db::name("data_qiye_xinxiku")->where('id',$item['qrxxk_id'])->field('sbr_xm,qydz,qylx,qybq,clrq')->find();
            if(!empty($qyxxk_info)){
                $item['faren'] =$qyxxk_info['sbr_xm'];
                $item['qydz'] =$qyxxk_info['qydz'];
                $item['qylx'] =$qyxxk_info['qylx'];
                $item['clrq'] =$qyxxk_info['clrq'];
                $item['qybq'] = [];

                $qybq_array = explode(',',$qyxxk_info['qybq']);
                foreach ($qybq_array as $qybq){
                    $item['qybq'][] = Db::name("data_qiye_biaoqian")->where('id',$qybq)->value('name');
                }
            }else{
                $item['faren'] = '';
                $item['qydz'] = '';
                $item['qybq'] = [];
                $item['qylx'] = '';
                $item['clrq'] = '';
            }

        }

        return_msg(200, '查询成功', $list);

    }

//    public function getQyList()
//    {
//
//        $key     = input('key');
//        $xzbm    = input('xzbm');
//        $user_id = input('user_id');
//
//        $fuwuguan = Db::name("data_user")->where('id', $user_id)->find();
//
//        if (empty($fuwuguan)) {
//            return_error('未查询到服务官信息');
//        }
//
//
//        $where['deleted'] = 0;
//
////        if (!empty($xzbm)) {
////            $where['xzbm'] = $xzbm;
////        }
//
//        //        if(!empty($key)){
//        //            $where[] = [
//        //                'OR',
//        //                ['qymc', 'like', '%' . $key . '%'],
//        //                ['tyxydm', 'like', '%' . $key . '%']
//        //            ];
//        //        }
//
//
//        if (!empty($key)) {
//            $where['qymc'] = ['like','%' . $key . '%'];
//        }
//
//
//        $xj_user_list = Db::name("data_user")->where('top_ld', $user_id)->field('id,qybq')->select()->toArray();
//        if (count($xj_user_list) > 0) {
//
//            $xj_user_qybq = [];
//
//            if (!empty($fuwuguan['qybq'])) {
//                $fuwuguan_qybq_list = explode(',', $fuwuguan['qybq']);
//                $xj_user_qybq       = array_unique(array_merge($xj_user_qybq, $fuwuguan_qybq_list));
//            }
//
//            foreach ($xj_user_list as $xj_user) {
//                if (!empty($xj_user['qybq'])) {
//                    $qiye_qybq_list = explode(',', $xj_user['qybq']);
//                    $xj_user_qybq   = array_unique(array_merge($xj_user_qybq, $qiye_qybq_list));
//                }
//            }
//            if (!empty($xj_user_qybq)) {
//                $fuwuguan['qybq'] = implode(',', $xj_user_qybq);
//            }
//        }
//
//        $where['deleted'] = 0;
//
//
//        $whereRaw = '';
//        // 构造查询条件来匹配 qybq 字段
//        if (!empty($fuwuguan['qybq'])) {
//            // 创建 FIND_IN_SET 的 SQL 查询条件
//            $qiye_qybq_list = explode(',', $fuwuguan['qybq']);
//
//            //            $where[] = ['FIND_IN_SET(qybq, '.$qiye_info['qybq'].')' ];
//            //            $where[] = ["FIND_IN_SET(qybq,'1,2')" ];
//
//            // 使用 FIND_IN_SET 来检查 qybq 字段中是否包含指定的值
//            $i = 0;
//            foreach ($qiye_qybq_list as $value) {
//                //                $qybq_conditions[] = ['FIND_IN_SET(?, qybq)', $value];
//                if ($i > 0) {
//                    $whereRaw .= ' or ';
//                }
//                $whereRaw .= 'FIND_IN_SET(' . $value . ', qybq)';
//                $i++;
//            }
//        }
//
//
//        //没有企业标签
//        if (empty($whereRaw)) {
//            return_msg(200, '查询接口', []);
//        }
//
//        $list = Db::name("data_qiye_rzinfo")->where($where)->where(function ($query) use ($key)
//        {
//            if (!empty($key)) {
//                $query->where('qymc', 'like', '%' . $key . '%')->whereOr('tyxydm', 'like', '%' . $key . '%');
//            }
//        })->whereRaw($whereRaw)->order('qymc desc')->select()->toArray();
//
//
//        foreach ($list as &$item){
//            $qyxxk_info = Db::name("data_qiye_xinxiku")->where('id',$item['qrxxk_id'])->field('sbr_xm,qydz,qylx,qybq,clrq')->find();
//            if(!empty($qyxxk_info)){
//                $item['faren'] =$qyxxk_info['sbr_xm'];
//                $item['qydz'] =$qyxxk_info['qydz'];
//                $item['qylx'] =$qyxxk_info['qylx'];
//                $item['clrq'] =$qyxxk_info['clrq'];
//                $item['qybq'] = [];
//
//                $qybq_array = explode(',',$qyxxk_info['qybq']);
//                foreach ($qybq_array as $qybq){
//                    $item['qybq'][] = Db::name("data_qiye_biaoqian")->where('id',$qybq)->value('name');
//                }
//            }else{
//                $item['faren'] = '';
//                $item['qydz'] = '';
//                $item['qybq'] = [];
//                $item['qylx'] = '';
//                $item['clrq'] = '';
//            }
//
//        }
//
//        return_msg(200, '查询成功', $list);
//
//    }


    //查看企业详情
    public function getQyInfo()
    {
        $id   = input('id');
        if(empty($id)){
            return_error('缺少参数id');
        }

        $info = Db::name("data_qiye_rzinfo")->where('id', $id)->find();

        if(empty($info)){
            return_error('未查询到企业信息');
        }

        $qyxxk = Db::name("data_qiye_xinxiku")->where('id',$info['qrxxk_id'])->find();

        if (!empty($qyxxk['qybq'])) {
            $qybq_array       = explode(',', $qyxxk['qybq']);
            $qyxxk['qybq_txt'] = '';
            $i                = 0;
            foreach ($qybq_array as $qybq) {
                if ($i > 0) {
                    $qyxxk['qybq_txt'] .= ',';
                }
                $qyxxk['qybq_txt'] .= Db::name("data_qiye_biaoqian")->where('id', $qybq)->value('name');
                $i++;
            }
        } else {
            $qyxxk['qybq_txt'] = '';
        }

        $info['xxk_info'] = $qyxxk;

        return_msg(200, '查询成功', $info);
    }

}